package cn.cangfei.massage.service;

import cn.cangfei.massage.dto.param.MassageProductCategoryParam;
import cn.cangfei.massage.entity.MassageProductCategory;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface IMassageProductCategoryService extends IService<MassageProductCategory> {

    /**
     * 判断分类名称是否存在
     *
     * @param name
     * @return
     */
    boolean countByName(String name);

    /**
     * 添加分类
     *
     * @param param
     * @return
     */
    boolean insertProductCategory(MassageProductCategoryParam param);

    /**
     * 修改分类
     *
     * @param id
     * @param param
     * @return
     */
    boolean updateProductCategory(Long id, MassageProductCategoryParam param);


    /**
     * 查询所有分类
     *
     * @return
     */
    List<MassageProductCategory> selectAllProductCategory();

    /**
     * 分页：根据关键字，查询分类
     *
     * @param keyword  分类名称
     * @param pageNum
     * @param pageSize
     * @return
     */
    IPage<MassageProductCategory> selectProductCategoryByPage(String keyword, Integer pageNum, Integer pageSize);

    /**
     * 根据分类名称，查询分类
     *
     * @param id
     * @return
     */
    boolean deleteProductCategory(Long id);

    /**
     * 根据分类id，查询分类是否存在
     *
     * @param id
     * @return
     */
    boolean countById(Long id);

    /**
     * 批量删除分类
     *
     * @param ids
     * @return
     */
    boolean deleteProductCategories(List<Long> ids);

    /**
     * 根据分类id，查询分类
     *
     * @param id
     * @return
     */
    MassageProductCategory selectProductCategoryById(Long id);
}
